/**
 * 自定义的$符号，
 * 之后网络访问直接使用。
 */
if(window.$==undefined||window.$==null){
    window.$={};
}
/**
 * 封装一个rest风格请求的前端API
 * @param requestMethod 请求方式 GET POST DELETE PUT
 * @param url 请求地址
 * @param json 请求携带的数据（当requestMethod=get时，此参数无效）
 * @param callback 请求的回调
 */
$.rest=function(requestMethod,url,json,callback){
    //请求方式统一转为大写
    if(requestMethod!=null){
        requestMethod=requestMethod.toUpperCase();
    }
    //纯原生的ajax的封装
    let xmlHttp=null;
    if(window.XMLHttpRequest){
        xmlHttp=new XMLHttpRequest();
    }else{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(xmlHttp==null){
        return ;
    }
    //监听状态
    xmlHttp.onreadystatechange=function(){
        if(xmlHttp.readyState==4&&xmlHttp.status==200){
            callback(JSON.parse(xmlHttp.responseText));
        }
    };

    //打开网络连接
    xmlHttp.open(requestMethod,url,true);
    //把本地存储的token拿到
    let token=localStorage.getItem("token");
    //放入请求头中
    xmlHttp.setRequestHeader("token",token);
    //请求数据
    if(requestMethod=="GET"){
        xmlHttp.send();
    }else{
        //设置请求头，设置传输数据的MIME类型。
        xmlHttp.setRequestHeader("Content-Type","application/json");
        //发送JSON数据
        xmlHttp.send(JSON.stringify(json));
    }
};